package com.stone.design.mode.command;

/**
 * 命令客户端
 *
 * @author Mr_wenpan@163.com 2022/01/16 14:08
 */
public class CommandClient {

    public static void main(String[] args) {
        // 命令执行者
        CommandInvoker invoker = new CommandInvoker();
        // 创建具体命令并制定具体的命令接受者
        ConcreteCommandA commandA = new ConcreteCommandA(new ConcreteCommandReceiverA());
        ConcreteCommandB commandB = new ConcreteCommandB(new ConcreteCommandReceiverB());

        // 接收并执行命令
        invoker.setCommand(commandA);
        invoker.action();

        invoker.setCommand(commandB);
        invoker.action();
    }
}
